# @Time    :2025/4/1 17:15
"""
题目 5：自定义异常和异常传递
创建一个自定义异常类 InvalidPasswordError，继承自 Exception 类。
编写一个函数 validate_password，该函数接收一个密码作为参数。
如果密码长度小于 6，抛出 InvalidPasswordError 异常并给出 “密码长度不能小于 6 位” 的描述信息。
在 main 函数中调用 validate_password 函数，
并使用 try-except 语句捕获可能出现的 InvalidPasswordError 异常。
"""


class InvalidPasswordError(Exception):
    def __init__(self, message):
        self.message = message
    #
    # def __str__(self): #不用写一样的效果 猜测是底层默认调用了
    #     return self.message


def validate_password(password):
    if len(password) < 6:
        raise InvalidPasswordError("密码长度不能小于 6 位")
    print("密码验证通过")

def main():
    try:
      validate_password("abc1111")
    except   InvalidPasswordError as e:
        print(e)

main()
